package com.wing.platform.order.model.request;

import com.wing.mybatis.common.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 工单表Form
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class WorkOrderForm extends BaseEntity {

    /**
     * ID
     */
    private Long id;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 工单编号
     */
    private String workOrderCode;

    /**
     * 产品id
     */
    private Long productId;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 模块id
     */
    private Long moduleId;

    /**
     * 模块名称
     */
    private String moduleName;

    /**
     * 内容
     */
    private String content;

    /**
     * 反馈类型id
     */
    private Long feedbackId;

    /**
     * 售后类型id
     */
    private Long sellId;

    /**
     * 提交人
     */
    private Long submitter;

    /**
     * 优先级
     */
    private String priority;

    /**
     * 机密信息
     */
    private String secretInformation;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 邮箱
     */
    private String mailbox;

    /**
     * 附件id
     */
    private String fileId;

    /**
     * 工单状态
     */
    private String workOrderStatus;

    /**
     * 认领人id
     */
    private Long receiptor;

    /**
    * 认领时间
    */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime receiptorTime;

    /**
    * 计划完成时间
    */
    private Long planCompletionTime;

    /**
    * 完成时间
    */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime actualFinishTime;

    /**
     * 工单类型
     */
    private String wordOrderType;

    /**
     * 企业状态
     */
    private String enterpriseStatus;


    public interface Add{}

    public interface Update{}

    /**
     * 编码序号
     */
    private Integer no;

    /**
     * 激活时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime activateTime;

    /**
     * 企业id
     */
    private Long enterpriseId;

    /**
     * 提交人名称
     */
    private String submitterName;

    /**
     * 认领人名称
     */
    private String receiptorName;

    /**
     * 是否显示反馈按钮 0：不显示，1：显示
     */
    private String showFeedbackBtn;
}
